package com.health.service;

import com.health.common.PageBean;
import com.health.dto.CheckgroupQueryDTO;
import com.health.pojo.Checkgroup;

import java.util.List;

/**
 * 检查组业务接口
 * @author zgp
 * @version V1.0
 * @date 2025-01-18 18:55
 */
public interface CheckgroupService {
    /**
     * 条件分页查询检查组列表
     * @param checkgroupQueryDTO 检查组查询DTO
     * @return 检查组集合
     */
    PageBean<Checkgroup> findPageList(CheckgroupQueryDTO checkgroupQueryDTO);

    /**
     * 根据id删除检查组
     * @param id 检查组id
     */
    void deleteCheckgroupById(Integer id);

    /**
     * 根据id查询检查组
     * @param id 检查组id
     * @return 检查组
     */
    Checkgroup findCheckgroupById(Integer id);

    /**
     * 获取检查组对应的检查项id
     * @param id 检查组id
     * @return 检查项id集合
     */
    List<Integer> findCheckItemIdsByCheckGroupId(Integer id);

    /**
     * 新增检查组
     * @param checkgroup 检查组
     * @param checkitemIds 检查组对应检查项id集合
     */
    void addCheckgroupAndItems(Checkgroup checkgroup, List<Integer> checkitemIds);

    /**
     * 修改检查组
     * @param checkgroup 检查组
     * @param checkitemIds 检查组对应检查项di集合
     */
    void updateCheckgroupAndItems(Checkgroup checkgroup, List<Integer> checkitemIds);

    /**
     * 获取所有检查组
     * @return 检查组集合
     */
    List<Checkgroup> getAllCheckgroups();

}
